/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * SubscribeDto.java
 */
package com.emm.yixun.common.model.dto;

import java.math.BigDecimal;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import com.emm.yixun.common.model.Subscribe;

/**
 * [文件名称]<br>
 * SubscribeDto.java<br>
 * <br>
 * [文件描述]<br>
 * 客户认购表 数据辅助类<br>
 * <br>
 * [修改记录]<br>
 * 2016-05-11 11:27:12 创建 陶俊代码生成器<br>
 * 
 * @author 陶俊代码生成器
 * @version 1.00
 */
public class SubscribeDto extends Subscribe {
	private static final long serialVersionUID = 1L;
	/**
	 * 经纪人id
	 */
	private String consultantUserId;

	public String getConsultantUserId() {
		return consultantUserId;
	}

	public void setConsultantUserId(String consultantUserId) {
		this.consultantUserId = consultantUserId;
	}

	/**
	 * 需要正序字段名
	 */
	private List<String> asc;
	/**
	 * 需要逆序字段名
	 */
	private List<String> desc;
	/**
	 * 排序SQL
	 */
	private String orders;

	// 客户名称
	private String customerName;
	// 客户电话
	private String customerPhone;
	private String customerSex;

	private String roomName;

	private String roomStatus;

	private String houseTypeName;

	private String userName;

	private String combinedName;

	private BigDecimal totalRealAmount;

	private String agentName;

	private String memberName;
	private String documentType;
	private String documentNumber;
	private String mobile;
	private String dtype;
	private String propertyType;
	
	private String isOverdue; //是否逾期
	private String overdueDay; //逾期天数
	private String isExport; //是否导出
	private String iscustomerSub; //是否是客户的认购记录，区别于原始记录和系统生成的退换记录

	//已收金额
	private String haveReceived;
	
	
	
	/**
	 * iscustomerSub.
	 *
	 * @return  the iscustomerSub
	 * @since   JDK 1.6
	 */
	public String getIscustomerSub() {
		return iscustomerSub;
	}

	/**
	 * iscustomerSub.
	 *
	 * @param   iscustomerSub    the iscustomerSub to set
	 * @since   JDK 1.6
	 */
	public void setIscustomerSub(String iscustomerSub) {
		this.iscustomerSub = iscustomerSub;
	}

	public String getIsOverdue() {
		return isOverdue;
	}

	public void setIsOverdue(String isOverdue) {
		this.isOverdue = isOverdue;
	}

	public String getOverdueDay() {
		return overdueDay;
	}

	public void setOverdueDay(String overdueDay) {
		this.overdueDay = overdueDay;
	}

	public BigDecimal getTotalRealAmount() {
		return totalRealAmount;
	}

	public void setTotalRealAmount(BigDecimal totalRealAmount) {
		this.totalRealAmount = totalRealAmount;
	}

	/**
	 * isExport.
	 *
	 * @return  the isExport
	 * @since   JDK 1.6
	 */
	public String getIsExport() {
		return isExport;
	}

	/**
	 * isExport.
	 *
	 * @param   isExport    the isExport to set
	 * @since   JDK 1.6
	 */
	public void setIsExport(String isExport) {
		this.isExport = isExport;
	}

	// 搜索条件
	private String houseNum;
	private String checkStartDate;
	private String checkEndDate;
	private String m_auditStatus;
	private String m_businessStatus;

	private String taskUserName;
	private Date smTartTime;
	private Date ckEndTime;
	//组团
	private String premisesId;
	//楼栋
	private String buildingId;
	//单元
	private String unitId;

	public String getHouseNum() {
		return houseNum;
	}

	public void setHouseNum(String houseNum) {
		this.houseNum = houseNum;
	}

	public String getCheckStartDate() {
		return checkStartDate;
	}

	public void setCheckStartDate(String checkStartDate) {
		this.checkStartDate = checkStartDate;
	}

	public String getCheckEndDate() {
		return checkEndDate;
	}

	public void setCheckEndDate(String checkEndDate) {
		this.checkEndDate = checkEndDate;
	}

	public String getM_auditStatus() {
		return m_auditStatus;
	}

	public void setM_auditStatus(String m_auditStatus) {
		this.m_auditStatus = m_auditStatus;
	}

	public String getM_businessStatus() {
		return m_businessStatus;
	}

	public void setM_businessStatus(String m_businessStatus) {
		this.m_businessStatus = m_businessStatus;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getCustomerPhone() {
		return customerPhone;
	}

	public void setCustomerPhone(String customerPhone) {
		this.customerPhone = customerPhone;
	}

	public String getRoomName() {
		return roomName;
	}

	public void setRoomName(String roomName) {
		this.roomName = roomName;
	}

	public String getRoomStatus() {
		return roomStatus;
	}

	public void setRoomStatus(String roomStatus) {
		this.roomStatus = roomStatus;
	}

	public String getHouseTypeName() {
		return houseTypeName;
	}

	public void setHouseTypeName(String houseTypeName) {
		this.houseTypeName = houseTypeName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getCombinedName() {
		return combinedName;
	}

	public void setCombinedName(String combinedName) {
		this.combinedName = combinedName;
	}

	/**
	 * 添加需要正序字段名
	 */
	public void addAsc(String col) {
		if (asc == null) {
			asc = new LinkedList<String>();
		}
		asc.add(col);
	}

	/**
	 * 清空需要正序字段名
	 */
	public void cleanAsc() {
		asc = null;
	}

	/**
	 * 添加需要逆序字段名
	 */
	public void addDesc(String col) {
		if (desc == null) {
			desc = new LinkedList<String>();
		}
		desc.add(col);
	}

	/**
	 * 清空需要逆序字段名
	 */
	public void cleanDesc() {
		desc = null;
	}

	/**
	 * 如果排序SQL为空根据需要正逆序的字段名拼接排序SQL
	 */
	public String getOrders() {
		StringBuilder orderStr = null;
		StringBuilder ascStr;
		StringBuilder descStr;
		if (orders == null) {
			if (asc != null) {
				ascStr = new StringBuilder();
				orderStr = new StringBuilder();
				String pex = "";
				for (String a : asc) {
					ascStr.append(pex + a);
					pex = ",";
				}
				orderStr.append(ascStr.toString() + " ASC");
			}
			if (desc != null) {
				descStr = new StringBuilder();
				String pex = "";
				for (String d : desc) {
					descStr.append(pex + d);
					pex = ",";
				}
				if (orderStr == null) {
					orderStr = new StringBuilder();
					orderStr.append(descStr.toString() + " DESC");
				} else {
					orderStr.append("," + descStr.toString() + " DESC");
				}
			}
			orders = orderStr != null ? orderStr.toString() : null;
		}

		return orders;
	}

	/**
	 * 设置排序SQL
	 */
	public void setOrders(String orders) {
		this.orders = orders;
	}

	private String dueTimeBefore;
	private String dueTimeAfter;
	private Date updateTimeBefore;
	private Date updateTimeAfter;
	private String didTimeBefore;
	private String didTimeAfter;
	private Date createTimeBefore;
	private Date createTimeAfter;
	private String subscribeDateBefore;
	private String subscribeDateAfter;
	private Date conversionSignDateBefore;
	private Date conversionSignDateAfter;
	private String checkDateBefore;
	private String checkDateAfter;
	private String createTimeBefore1;
	private String createTimeAfter1;

	public String getDueTimeBefore() {
		return this.dueTimeBefore;
	}

	public void setDueTimeBefore(String dueTimeBefore) {
		this.dueTimeBefore = dueTimeBefore;
	}

	public String getDueTimeAfter() {
		return this.dueTimeAfter;
	}

	public void setDueTimeAfter(String dueTimeAfter) {
		this.dueTimeAfter = dueTimeAfter;
	}

	public Date getUpdateTimeBefore() {
		return this.updateTimeBefore;
	}

	public void setUpdateTimeBefore(Date updateTimeBefore) {
		this.updateTimeBefore = updateTimeBefore;
	}

	public Date getUpdateTimeAfter() {
		return this.updateTimeAfter;
	}

	public void setUpdateTimeAfter(Date updateTimeAfter) {
		this.updateTimeAfter = updateTimeAfter;
	}

	public String getDidTimeBefore() {
		return this.didTimeBefore;
	}

	public void setDidTimeBefore(String didTimeBefore) {
		this.didTimeBefore = didTimeBefore;
	}

	public String getDidTimeAfter() {
		return this.didTimeAfter;
	}

	public void setDidTimeAfter(String didTimeAfter) {
		this.didTimeAfter = didTimeAfter;
	}

	public Date getCreateTimeBefore() {
		return this.createTimeBefore;
	}

	public void setCreateTimeBefore(Date createTimeBefore) {
		this.createTimeBefore = createTimeBefore;
	}

	public Date getCreateTimeAfter() {
		return this.createTimeAfter;
	}

	public void setCreateTimeAfter(Date createTimeAfter) {
		this.createTimeAfter = createTimeAfter;
	}

	public String getSubscribeDateBefore() {
		return this.subscribeDateBefore;
	}

	public void setSubscribeDateBefore(String subscribeDateBefore) {
		this.subscribeDateBefore = subscribeDateBefore;
	}

	public String getSubscribeDateAfter() {
		return this.subscribeDateAfter;
	}

	public void setSubscribeDateAfter(String subscribeDateAfter) {
		this.subscribeDateAfter = subscribeDateAfter;
	}

	/************** 扩展字段 ************/
	private String subscribeHouses;
	private String agentUser;
	//附件类型
	private String imageType;
	//附件字符串
	private String fileArr;

	public String getImageType() {
		return imageType;
	}

	public void setImageType(String imageType) {
		this.imageType = imageType;
	}
	public String getFileArr() {
		return fileArr;
	}

	public void setFileArr(String fileArr) {
		this.fileArr = fileArr;
	}

	public String getSubscribeHouses() {
		return subscribeHouses;
	}

	public void setSubscribeHouses(String subscribeHouses) {
		this.subscribeHouses = subscribeHouses;
	}

	public String getAgentUser() {
		return agentUser;
	}

	public void setAgentUser(String agentUser) {
		this.agentUser = agentUser;
	}

	public String getCheckDateBefore() {
		return checkDateBefore;
	}

	public void setCheckDateBefore(String checkDateBefore) {
		this.checkDateBefore = checkDateBefore;
	}

	public String getCheckDateAfter() {
		return checkDateAfter;
	}

	public void setCheckDateAfter(String checkDateAfter) {
		this.checkDateAfter = checkDateAfter;
	}

	public String getCreateTimeBefore1() {
		return createTimeBefore1;
	}

	public void setCreateTimeBefore1(String createTimeBefore1) {
		this.createTimeBefore1 = createTimeBefore1;
	}

	public String getCreateTimeAfter1() {
		return createTimeAfter1;
	}

	public void setCreateTimeAfter1(String createTimeAfter1) {
		this.createTimeAfter1 = createTimeAfter1;
	}

	public Date getConversionSignDateBefore() {
		return conversionSignDateBefore;
	}

	public void setConversionSignDateBefore(Date conversionSignDateBefore) {
		this.conversionSignDateBefore = conversionSignDateBefore;
	}

	public Date getConversionSignDateAfter() {
		return conversionSignDateAfter;
	}

	public void setConversionSignDateAfter(Date conversionSignDateAfter) {
		this.conversionSignDateAfter = conversionSignDateAfter;
	}

	public String getTaskUserName() {
		return taskUserName;
	}

	public void setTaskUserName(String taskUserName) {
		this.taskUserName = taskUserName;
	}

	public Date getSmTartTime() {
		return smTartTime;
	}

	public void setSmTartTime(Date smTartTime) {
		this.smTartTime = smTartTime;
	}

	public Date getCkEndTime() {
		return ckEndTime;
	}

	public void setCkEndTime(Date ckEndTime) {
		this.ckEndTime = ckEndTime;
	}

	public String getPremisesId() {
		return premisesId;
	}

	public void setPremisesId(String premisesId) {
		this.premisesId = premisesId;
	}

	public String getBuildingId() {
		return buildingId;
	}

	public void setBuildingId(String buildingId) {
		this.buildingId = buildingId;
	}

	public String getUnitId() {
		return unitId;
	}

	public void setUnitId(String unitId) {
		this.unitId = unitId;
	}

	public String getMemberName() {
		return memberName;
	}

	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}

	public String getDocumentType() {
		return documentType;
	}

	public void setDocumentType(String documentType) {
		this.documentType = documentType;
	}

	public String getDocumentNumber() {
		return documentNumber;
	}

	public void setDocumentNumber(String documentNumber) {
		this.documentNumber = documentNumber;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getDtype() {
		return dtype;
	}

	public void setDtype(String dtype) {
		this.dtype = dtype;
	}

	public String getAgentName() {
		return agentName;
	}

	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}

	public String getPropertyType() {
		return propertyType;
	}

	public void setPropertyType(String propertyType) {
		this.propertyType = propertyType;
	}

	//自定义条件
	private String sql;

	public String getSql() {
		return sql;
	}

	public void setSql(String sql) {
		this.sql = sql;
	}


	public String getCustomerSex() {
		return customerSex;
	}

	public void setCustomerSex(String customerSex) {
		this.customerSex = customerSex;
	}

	public String getHaveReceived() {
		return haveReceived;
	}

	public void setHaveReceived(String haveReceived) {
		this.haveReceived = haveReceived;
	}
}
